package com.platform.usercenter.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.platform.common.core.annotation.Excel;
import com.platform.common.core.web.domain.BaseEntity;

/**
 * 领导排班计划主对象 cal_leader_plan
 *
 * @author platform
 * @date 2023-10-04
 */
@Data
public class CalLeaderPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 领导排班计划id */
    private Long id;
    private Long orgId;
    private List<Long> orgIdList;
    /** 值班领导id */
    private Long leaderId;

    /** 值班领导名称 */
    @Excel(name = "值班领导名称")
    private String leaderName;

    /** 值班领导所属部门id */
    private Long leaderDeptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String leaderDeptName;

    /** 值班领导电话 */
    @Excel(name = "值班领导电话")
    private String leaderPhone;

    /** 值班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "值班日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planDate;

    /** 当前日期对应的是一周中的哪一天 */
    @Excel(name = "周日期")
    private String dayName;

    @Excel(name = "备注")
    private String remark;

    /**
     * 正班/副班
     */
    private String isVice;

    /** 是否删除：Y-是；N-否 */
    private String isDelete;

    /** 删除人 */
    private String deleteBy;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date deleteTime;

    /** 排序字段 */
    private Long sort;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setLeaderId(Long leaderId)
    {
        this.leaderId = leaderId;
    }

    public Long getLeaderId()
    {
        return leaderId;
    }
    public void setLeaderName(String leaderName)
    {
        this.leaderName = leaderName;
    }

    public String getLeaderName()
    {
        return leaderName;
    }
    public void setLeaderDeptId(Long leaderDeptId)
    {
        this.leaderDeptId = leaderDeptId;
    }

    public Long getLeaderDeptId()
    {
        return leaderDeptId;
    }
    public void setLeaderDeptName(String leaderDeptName)
    {
        this.leaderDeptName = leaderDeptName;
    }

    public String getLeaderDeptName()
    {
        return leaderDeptName;
    }
    public void setLeaderPhone(String leaderPhone)
    {
        this.leaderPhone = leaderPhone;
    }

    public String getLeaderPhone()
    {
        return leaderPhone;
    }
    public void setPlanDate(Date planDate)
    {
        this.planDate = planDate;
    }

    public Date getPlanDate()
    {
        return planDate;
    }
    public void setDayName(String dayName)
    {
        this.dayName = dayName;
    }

    public String getDayName()
    {
        return dayName;
    }
    public void setIsDelete(String isDelete)
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete()
    {
        return isDelete;
    }
    public void setDeleteBy(String deleteBy)
    {
        this.deleteBy = deleteBy;
    }

    public String getDeleteBy()
    {
        return deleteBy;
    }
    public void setDeleteTime(Date deleteTime)
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime()
    {
        return deleteTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getIsVice() {
        return isVice;
    }

    public void setIsVice(String isVice) {
        this.isVice = isVice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("leaderId", getLeaderId())
            .append("leaderName", getLeaderName())
            .append("leaderDeptId", getLeaderDeptId())
            .append("leaderDeptName", getLeaderDeptName())
            .append("leaderPhone", getLeaderPhone())
            .append("planDate", getPlanDate())
            .append("dayName", getDayName())
            .append("remark", getRemark())
            .append("isDelete", getIsDelete())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deleteBy", getDeleteBy())
            .append("deleteTime", getDeleteTime())
            .append("sort", getSort())
            .toString();
    }
}
